#!/bin/bash

# Slackware build script for acroread - binary repackaging

# Copyright 2006-2009  Robby Workman  Northport, Alabama, USA
# Copyright 2008-2010  Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Thanks to Andrew Brouwers for the original SlackBuild script and for
# permission to modify it as needed.

# 20220401 bkw: Modified by SlackBuilds.org, BUILD=2:
# - make desktop file validate.
# - use relative symlinks, not absolute.

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=adobe-reader
VERSION=${VERSION:-9.5.5}
ARCH=i486	# Leave this alone for acroread
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}

if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
  exit 0
fi

TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

# Use ADOBE_LANG for installing a different language version of acroread
ADOBE_LANG=${ADOBE_LANG:-enu}

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf AdobeReader
tar xvf $CWD/AdbeRdr${VERSION}-1_${ARCH}linux_${ADOBE_LANG}.tar.bz2

VERSION=${VERSION}_$ADOBE_LANG

# Create directory structure and extract files from archives
mkdir -p $PKG/opt $PKG/usr/bin
cd $PKG/opt
tar xf $TMP/AdobeReader/COMMON.TAR
tar xf $TMP/AdobeReader/ILINXR.TAR

cd $PKG/opt/Adobe

# 20220401 bkw: desktop-file-validate
sed -i -e '/^Caption/d' \
       -e '/^Categories/s,Application;,,' \
       -e 's,  *$,,' \
       Reader9/Resource/Support/AdobeReader.desktop

# Remove stuff we don't need
rm -rf Reader9/Reader/HowTo
rm -r Reader9/Browser/{HowTo,install_browser_plugin}

# Add symlink for binary to /usr/bin
( cd $PKG/usr/bin ; ln -sf ../../opt/Adobe/Reader9/bin/acroread . )

# Add symlink for browser plugins
mkdir -p $PKG/usr/lib/mozilla/plugins
cd $PKG/usr/lib/mozilla/plugins
  ln -sf ../../../../opt/Adobe/Reader9/Browser/intellinux/nppdf.so .
cd -

# Add symlink to AdobeReader.xml for correct mimetype
mkdir -p $PKG/usr/share/mime/packages
cd $PKG/usr/share/mime/packages
  ln -sf ../../../../opt/Adobe/Reader9/Resource/Support/AdobeReader.xml .
cd -

# Fix symlink to .desktop file
mkdir -p $PKG/usr/share/{applications,pixmaps}
cd $PKG/usr/share/applications
  ln -sf ../../../opt/Adobe/Reader9/Resource/Support/AdobeReader.desktop .
cd -

# Link icon to /usr/share/pixmaps
cd $PKG/usr/share/pixmaps
  ln -sf ../../../opt/Adobe/Reader9/Resource/Icons/48x48/AdobeReader9.png .
cd -

# Link manpage to /usr/man/man1
mkdir -p $PKG/usr/man/man1
cd $PKG/usr/man/man1
  ln -sf ../../../opt/Adobe/Reader9/Resource/Shell/acroread.1.gz .
cd -

# Fix bug in bash completion script by redefining "_filedir" function
# to "_acroread_filedir" as suggested on the adobe forum:
# http://forums.adobe.com/thread/745833
sed -i 's/_filedir/_acroread_filedir/g' $PKG/opt/Adobe/Reader9/Resource/Shell/acroread_tab

# Link completion script to /usr/share/bash-completion/completions
mkdir -p $PKG/usr/share/bash-completion/completions
ln -sf ../../../../opt/Adobe/Reader9/Resource/Shell/acroread_tab \
  $PKG/usr/share/bash-completion/completions/acroread

# Move docs to their correct locations
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $TMP/AdobeReader/ReadMe.htm $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

# Fix ownership and permissions
cd $PKG
find . -type d -exec chmod 755 {} \;
chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \+ -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
 -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+

# No stripping of binaries and such, as Firefox doesn't like naked acroread :D
# Just build the package...  ;P
/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
